ant

Quelle est votre conception de la programmation orientée objet ?

C'est un peu comme la lampe d'Aladdin, ça ouvre des portes infinies C'est un truc pour les autistes qui aiment les mathématiques J'attends la fin de cet atelier pour me faire une idée d'après une expérience réelle

Environnement fourmilier simplifié

Le simulateur offre un environnement dans lequel 3 fourmilières évoluent dans des conditions naturelles simplifiées elles aussi.

Télécharger l'archive

Le programme est disponible à cette adresse

bouton pour télécharger

Installation

Dézipper l'archive

unzip

Lancer le simulateur

Double-clic sur krohondesimulator.exe

Et l'écran suivant devrait apparaître:

Créer un projet CSharp

Créer un projet .NET6 de type bibliothèque

06-project.png07-fversion.png

Ajouter une référence vers un DLL

08-dll1.png

Sélectionner le DLL de l'archive simulator

Krohonde.dll

09-dll2.png

Ajouter une implémentation

  1. Créer une classe nommée XXXBlueQueen
  2. Ajouter un import : "using Krohonde.CustomStrategy"
  3. Faire hériter la nouvelle classe de QueenStrategy : "... : QueenStrategy"
  4. Utiliser l'aide de l'IDE pour compléter la classe
    11-implem1.png

Remplacer le code auto-généré (à adapter selon votre cas)

19-code.png

Ajouter un override pour la méthode GetMessage

Choisir le texte à afficher, par exemple "Hello Demo" :
12-getmessage.png

Générer le DLL

13-gendll.png

Copier le DLL vers le simulateur

14-open.png

Créer le dossier "strategy"

Alt text

Copier/Coller le dll dans le dossier "strategy"

Alt text

Tester

Relancer le simulateur

Activer le log

17-log1.png

Changer la vitesse à min 1

Vérifier l'affichage du message

Le log devrait se trouver dans le répertoire c:\temp

Défilement automatique
Pour voir le log défiler, on peut faire un clic droit dans le répertoire
où est le log (via l'explorateur de fichier) et sélectionner git bash here.

Ensuite entrer la commande suivante dans la console qui est apparu:

tail -100f Krohonde.log

18-message.png

La reine bleue a un comportement étrange...

Corriger cela en implémentant une meilleure version de la méthode suivante à disposition:
Alt text

Tester

Puis tester ce nouveau comportement, et ainsi de suite jusquq'à ce qu'elle reste dans sa zone...

Automatiser la copie après le build

Pour copier directement une nouvelle version, on peut, par exemple ajouter une option de build dans le fichier .csproject

Exemple à adapter

<Target Name="copy strategy" AfterTargets="build">
        <Message Text="Copy example to krohonde" Importance="high" />
        <Copy 
        SourceFiles="$(OutputPath)\CustomStrategyZZZ.dll" 
        DestinationFolder="c:\temp\simulator\strategy\strategyZZZ" 
        SkipUnchangedFiles="true" />
    </Target>

Bravo, il est temps de faire le point sur les éléments travaillés